package com.woniuxy.yoga.product.service.service;

import com.woniuxy.yoga.commons.core.model.PageInfo;
import com.woniuxy.yoga.product.dao.model.Product;
import com.baomidou.mybatisplus.extension.service.IService;
import com.woniuxy.yoga.product.model.dto.ProductDTO;
import com.woniuxy.yoga.product.model.param.AddProductParam;
import com.woniuxy.yoga.product.model.param.QueryProductParam;

import java.util.List;

/**
 * <p>
 * 产品表 服务类
 * </p>
 *
 * @author 韦用文,刘存益,郎腾霄
 * @since 2023年11月28日
 */
public interface ProductService extends IService<Product> {

    /**
     * 用户查询可用产品
     * @return
     */
    List<ProductDTO> queryNormalProduct();

    /**
     * 新增产品
     * @param param
     */
    void addProduct(AddProductParam param);

    /**
     * 上架产品
     * @param productId
     */
    void normalProduct(Integer productId);

    /**
     * 下架产品
     * @param productId
     */
    void disableProduct(Integer productId);

    /**
     * 删除产品
     * @param productId
     */
    void deleteProduct(Integer productId);

    /**
     * 商家查询自己的所有产品
     * @param param
     * @return
     */
    PageInfo queryProduct(QueryProductParam param);

    /**
     * 批量删除普通课程
     * @param storeId
     */
    void removeProduct(Integer storeId);
}
